package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_fund_portfolio")
public class FFundPortfolio {
    @Id
    private Long tid;

    /**
     * TS基金代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 截止日期
     */
    @Column(name = "end_date")
    private String endDate;

    /**
     * 股票代码
     */
    private String symbol;

    /**
     * 持有股票市值(元)
     */
    private Float mkv;

    /**
     * 持有股票数量（股）
     */
    private Float amount;

    /**
     * 占股票市值比
     */
    @Column(name = "stk_mkv_ratio")
    private Float stkMkvRatio;

    /**
     * 占流通股本比例
     */
    @Column(name = "stk_float_ratio")
    private Float stkFloatRatio;

    public FFundPortfolio(Long tid, String tsCode, String annDate, String endDate, String symbol, Float mkv, Float amount, Float stkMkvRatio, Float stkFloatRatio) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.endDate = endDate;
        this.symbol = symbol;
        this.mkv = mkv;
        this.amount = amount;
        this.stkMkvRatio = stkMkvRatio;
        this.stkFloatRatio = stkFloatRatio;
    }

    public FFundPortfolio() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS基金代码
     *
     * @return ts_code - TS基金代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS基金代码
     *
     * @param tsCode TS基金代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取截止日期
     *
     * @return end_date - 截止日期
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 设置截止日期
     *
     * @param endDate 截止日期
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取股票代码
     *
     * @return symbol - 股票代码
     */
    public String getSymbol() {
        return symbol;
    }

    /**
     * 设置股票代码
     *
     * @param symbol 股票代码
     */
    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    /**
     * 获取持有股票市值(元)
     *
     * @return mkv - 持有股票市值(元)
     */
    public Float getMkv() {
        return mkv;
    }

    /**
     * 设置持有股票市值(元)
     *
     * @param mkv 持有股票市值(元)
     */
    public void setMkv(Float mkv) {
        this.mkv = mkv;
    }

    /**
     * 获取持有股票数量（股）
     *
     * @return amount - 持有股票数量（股）
     */
    public Float getAmount() {
        return amount;
    }

    /**
     * 设置持有股票数量（股）
     *
     * @param amount 持有股票数量（股）
     */
    public void setAmount(Float amount) {
        this.amount = amount;
    }

    /**
     * 获取占股票市值比
     *
     * @return stk_mkv_ratio - 占股票市值比
     */
    public Float getStkMkvRatio() {
        return stkMkvRatio;
    }

    /**
     * 设置占股票市值比
     *
     * @param stkMkvRatio 占股票市值比
     */
    public void setStkMkvRatio(Float stkMkvRatio) {
        this.stkMkvRatio = stkMkvRatio;
    }

    /**
     * 获取占流通股本比例
     *
     * @return stk_float_ratio - 占流通股本比例
     */
    public Float getStkFloatRatio() {
        return stkFloatRatio;
    }

    /**
     * 设置占流通股本比例
     *
     * @param stkFloatRatio 占流通股本比例
     */
    public void setStkFloatRatio(Float stkFloatRatio) {
        this.stkFloatRatio = stkFloatRatio;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", symbol=").append(symbol);
        sb.append(", mkv=").append(mkv);
        sb.append(", amount=").append(amount);
        sb.append(", stkMkvRatio=").append(stkMkvRatio);
        sb.append(", stkFloatRatio=").append(stkFloatRatio);
        sb.append("]");
        return sb.toString();
    }
}